Providing secure transfers of data over the Internet and other communications networks has become increasingly important. One method of securing data transfers includes encrypting and/or decrypting the transferred data using either symmetric (private-key/private-key) or asymmetric (public-key/private-key) encryption and decryption architectures.
Symmetric encryption and decryption uses a single, unique encryption/decryption key to encrypt and decrypt each secure data package. However, in addition to potential complexity, processing overhead, and time delays, symmetric encryption may require the sender to communicate the encryption key to the recipient by various means, such as by electronic or non-electronic methods, which can compromise the security of the transaction.
Asymmetric encryption requires the use of both a public key and a private key, wherein multiple secure data packages are encrypted using the same public key. Asymmetric encryption may compromise the security of transferred data because if an unintended user discovers the private key used to decrypt an encrypted data package, the user will also be able to decrypt all of the data packages encrypted using the public key.
Furthermore, both symmetric and asymmetric encryption/decryption methods are generally based on complex mathematical computation. The more complex the encryption algorithm, the more time and processing power is required to encrypt and decrypt the message by authorized parties. This is a necessary deficiency however, because the more complex the encryption algorithm, the exponentially more time and processing power are required to break the encryption key (e.g., a brute force attack) and decrypt the message by an unauthorized third party. Nevertheless, as the processing power of computers and quantum computers increases, the likelihood of successful encryption breaking increases.
Therefore, there remains a need to increase the relative difficulty of decryption without increasing and/or potentially decreasing the mathematical computational complexity, processing power, and processing time for encryption and decryption.